home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
SWAG
/
SWAGA_C
/
COMM.SWG
/
0006_Remote ANSI Detect.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-05-28
|
2KB
|
50 lines
{ determine if ANSI.SYS loaded on micro }
Function AnsiSysLoaded : Boolean;
Var
_AX : Word;
Regs: Registers;
begin
Regs.AX := $1a00;
Intr($2f,Regs);
_Ax := Regs.AX;
ANSISysLoaded := Lo(_AX) = $FF
end;
{ ------------------------------------------------------------------------
DETECTANSI
Detect whether the remote user has ANSI support For initial Graphic mode.
------------------------------------------------------------------------ }
Function DetectAnsi : Boolean;
Var
AnsiDetected : Boolean;
AnsiChar : Char;
begin
AnsiDetected := False;
If (OrgCarr) then { not sysop_local then }
begin
Fossil.ModemPut(#27+'[6n'); { Esc[6n (Cursor Position Request) }
Fossil.FlushBuff;
Crt.Delay(2000); { waits For response (2 second) }
If (Fossil.SerialChar) then { if modem buffer is not empty }
begin
AnsiChar := Fossil.Receive;
If (AnsiChar in [#27,'0'..'9','[','H']) then
AnsiDetected := True;
end;
Crt.Delay(1000); { Pause 1 second }
Fossil.PurgeLine; { Purge input buffer }
Fossil.PurgeOutput; { Make sure nothing is in output buffer }
end
else
{ if local, check For ANSI.SYS loaded }
AnsiDetected := AnsiSysLoaded;
{ here you might wanna say:
if not AnsiSysLoaded then UseAnsiSimulator := True; }
If AnsiDetected then
PrintLn('ANSI Graphics detected.')
else
PrintLn('ANSI Graphics disabled.');
DetectAnsi := AnsiDetected;
end;